package com.sch.www.common.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.*;


/**
 * Created by Administrator on 2016/11/15.
 */
public class DateUtil {
    private static final Logger log = LoggerFactory.getLogger(DateUtil.class);

    public final static  String DATE_PATTEN="yyyy-MM-dd";
    public final static  String DATE_TIME_PATTEN="yyyy-MM-dd HH:mm:ss";

    /**
     * 字符串转时间类型
     *
     * @param dateString 例如： 2016-10-1 10:11:12
     * @param patten     例如：yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static Date string2Date(String dateString, String patten) {
        SimpleDateFormat sdf = new SimpleDateFormat(patten);
        try {
            return sdf.parse(dateString);
        } catch (Exception e) {
            log.warn("【Manual】=>{} 转换成日期异常", dateString);
            return null;
        }
    }

    /**
     * 日期移动
     *
     * @param date    原来时间
     * @param moveOff 移动天数 （整数向后，负数向前）
     * @return
     */

    public static Date moveDate(Date date, int moveOff) {
        if (date == null) {
            return null;
        }
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        calendar.add(calendar.DATE, moveOff);//把日期移动moveOff天.整数往后推,负数往前移动
        return calendar.getTime();
    }


    /**
     * 将时间类型转成 String
     *
     * @param date
     * @param patten 模式   yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String date2String(Date date, String patten) {
        SimpleDateFormat sdf = new SimpleDateFormat(patten);
        String dateString;
        try {
            dateString = sdf.format(date);
        } catch (Exception e) {
            log.info("【Manual】=>{} 转换成时间串异常{}", date);
            return null;
        }
        return dateString;

    }


}
